using System;
using SilenthinkContract.Component;

namespace SilenthinkContract.Domain
{
    /// <summary>
    /// 产品分类二位一级(无限级)
    /// </summary>
    [Serializable]
    public class ProductCategory : Versionable<int>, ITreeNodeCategory
    {
        /// <summary>
        /// 编码
        /// </summary>
        public string Code { get; set; }

        /// <summary>
        /// 父级编码
        /// </summary>
        public string ParentCode { get; set; }

        /// <summary>
        /// 名称
        /// </summary>
        public string Name { get; set; }

        /// <summary>
        /// 级
        /// </summary>
        public int Level { get; set; }

        /// <summary>
        /// 描述
        /// </summary>
        public string Description { get; set; }

        /// <summary>
        /// 状态
        /// </summary>
        public bool Status { get; set; }

        /// <summary>
        /// 是否有子级
        /// </summary>
        public bool HasChildren { get; set; }

        /// <summary>
        /// 排序
        /// </summary>
        public int DisplayOrder { get; set; }

    }
}